Docker 部署 【单体】

部署须知

本部署文档将自动创建 MySQL 与 Redis 服务,无需修改任何参数即可直接执行。如需自定义配置,请确保具备相应的 Docker 与 Compose 基础技能,这与软件本身无关,恕无法提供技术支持。

单体版本 vs 微服务版本

对比项单体版本微服务版本
编译参数-Pboot-Pcloud
配置文件docker-compose-boot.ymldocker-compose.yml
服务数量3 个(MySQL、Redis、Boot)10+ 个
资源需求2C/8G4C/16G
适用场景开发测试、小型项目生产环境、大规模部署

环境安装

环境要求

资源要求

最低配置:2C/8G(可用资源),相比微服务版本资源需求更低。

安装 Docker

bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

其他依赖

请自行安装以下 Java 开发环境:

  • Java 17
  • Maven 3.9

部署服务端

编译源代码

在服务端代码根目录(pigx)执行编译命令:

编译参数

单体版本必须使用 -Pboot 参数,微服务版本使用 -Pcloud 参数。

cd pigx
mvn clean install -Pboot
编译成功示例

构建并启动容器

使用 docker-compose-boot.yml 配置文件部署:

cd pigx

# 构建镜像
docker compose -f docker-compose-boot.yml build

# 启动容器(首次启动建议不加 -d 参数,方便查看日志)
docker compose -f docker-compose-boot.yml up -d
启动提示

单体版本启动速度较快,通常 1-2 分钟内完成。首次启动建议不使用 -d 参数,以便实时查看启动日志。

验证服务

等待约 1-2 分钟后,访问以下地址验证服务启动:

http://宿主机IP:9999/admin/doc.html
启动成功

能够正常访问 Swagger 文档页面,说明服务已成功启动。单体版本无需 Nacos 注册中心,服务直接监听 9999 端口。

部署前端

检查环境配置

关键配置

单体版本部署前必须修改前端环境配置!VITE_IS_MICRO=false 表示使用单体架构,前端将直接请求单体服务,而非通过网关分发到各微服务。

编辑 pigx-ui/.env 文件,确保以下配置:

# 是否是微服务架构(单体版本必须设置为 false)
VITE_IS_MICRO=false

构建前端

安装依赖并构建生产版本:

cd pigx-ui

# 安装依赖
npm install --registry=https://registry.npmmirror.com

# 构建 Docker 部署版本
npm run build:docker

部署前端容器

cd pigx-ui/docker

docker compose build && docker compose up -d
网络通信

Docker Compose 会自动创建默认网络,容器间通过容器名称进行服务发现和 DNS 解析,无需修改 hosts 文件。前端 Nginx 配置已指向 pigx-gateway:9999,单体版本容器名正好匹配。

访问系统

前端访问地址:

http://宿主机IP:80
默认账户

默认用户名:admin 默认密码:123456